With the increased use of 'Virtual Machines' (VMs) as vehicles that isolate applications running on the same host, it is necessary to devise techniques that enable multiple VMs to share underlying resources both fairly and efficiently. To that end, one common approach is to deploy complex resource management techniques in the hosting infrastructure.
Alternately, in this talk, we advocate the use of self adaptation in the VMs themselves based on feedback about resource usage and availability. Consequently, we define a 'Friendly' VM (FVM) to be a virtual machine that adjusts its demand for system resources, so that these resources end-up being both efficiently and fairly allocated to competing FVMs.
Such properties are ensured using one of many provably convergent control rules, such as Additive-Increase/Multiplicative-Decrease (AIMD).
By adopting this distributed application-based approach to resource management, it is not necessary to make assumptions neither about the underlying resources nor about the requirements of FVMs competing for these resources. To demonstrate the elegance and simplicity of our approach, we present a prototype implementation of our FVM framework in User-Mode Linux (UML)-an implementation that consists of less than 500 lines of code changes to UML.We present an analytic, control-theoretic model of FVM adaptation, which establishes convergence and fairness properties. These properties are also backed up with experimental results using our prototype FVM implementation.
This work was done in collaboration with Yuting Zhang, Mina Guirguis, Ibrahim Matta, and Rich West.